// 1. 引入 Express 框架
const express = require('express');
// 2. 创建 Express 实例（服务对象）
const app = express();
// 3. 配置中间件：解析 JSON 格式的请求体（处理 POST 请求参数必需）
app.use(express.json());
// 4. 定义 GET 接口：获取用户信息
// 请求路径：/api/user
// 请求方法：GET
// 请求参数：url 参数（例如 ?id=123）
app.get('/api/user', (req, res) => {
  // req.query 获取 URL 中的参数（如 ?id=123 → req.query.id = 123）
  const userId = req.query.id;
  // 模拟返回用户数据（实际项目中会从数据库获取）
  const userData = {
    code: 200, // 状态码：200 表示成功
    message: '获取用户信息成功',
    data: {
      id: userId,
      name: '张三',
      age: 25,
      email: 'zhangsan@example.com'
    }
  };
  // 向客户端返回 JSON 数据
  res.json(userData);
});
// 5. 定义 POST 接口：创建用户
// 请求路径：/api/user
// 请求方法：POST
// 请求参数：JSON 格式的请求体（如 {name: "李四", age: 22}）
app.post('/api/user', (req, res) => {
  // req.body 获取 JSON 格式的请求体（需提前配置 express.json() 中间件）
  const newUser = req.body;
  // 模拟创建用户成功（实际项目中会写入数据库）
  const response = {
    code: 200,
    message: '创建用户成功',
    data: {
      id: '456', // 模拟数据库生成的用户 ID
      ...newUser // 透传客户端传入的用户信息
    }
  };
  res.json(response);
});
// 6. 启动服务，监听 3000 端口（端口可自定义，如 8080）
const port = 3000;
app.listen(port, () => {
  console.log(`Node.js 服务已启动！监听端口：${port}`);
  console.log(`接口访问地址示例：`);
  console.log(`GET 接口：http://localhost:${port}/api/user?id=123`);
  console.log(`POST 接口：http://localhost:${port}/api/user`);
});